package 集合;

import java.util.ArrayList;
import java.util.Collections;

public class 可变参数和Collections {
    public static void main(String[] args) {
//        可变参数(数据类型...数据名)----计算n个数的和
//        数据类型...数据名就可以不用固定多少个元素了
        /*
        细节一：在方法的形参当中，最多只有一个可变参数
        细节二：在方法当中，除了可变参数以外，还有其他形参，那么可变参数要写在最后
        getsum(int a,int b,int c,int...arr2)
        实参： int a=4; int b=5; 即为有实际意义的参数
        形参：没有实际意义的参数，一般在方法中可以看到getsum(int...arr2) arr2为形参
        或者为 int max(int a,int b)
         */
        int[]arr={1,2,3,55,66,88,99};
        System.out.println(getSum(arr));


//        可变参数实例
        int getsum = getsum(1, 2, 3, 4, 4, 5346, 5, 645, 645);
        System.out.println(getsum);



//        Collections
        /*
        public static <T> boolean addAll(Collection<T>c,t...   elements)批量添加元素
        publci static void shuffle(List<?> list)     打乱list集合的顺序
         */
        System.out.println("--------------------Collections----------------------");
//        1.创建集合(Collections.addAll)
        ArrayList<String> list=new ArrayList<>();
        Collections.addAll(list,"asd","asdad","sadafa","z","n","io");
        System.out.println(list);
        Collections.shuffle(list);
        System.out.println(list);







    }
    public static int getSum(int[]arr){
        int sum=0;
        for (int i = 0; i < arr.length; i++) {
            sum=sum+arr[i];
        }
        return sum;
    }
    public static int getsum(int...arr2){
        int sum=0;
        for (int i = 0; i < arr2.length; i++) {
            sum=sum+arr2[i];
        }
        return sum;
    }
}
